package ar.edu.utn.frba.disenio.model;

import java.util.ArrayList;
import java.util.List;

import ar.edu.utn.frba.disenio.fechas.Fecha;


public class VueloDirecto extends Vuelo {
	public Aerolinea aerolinea;
	public Fecha fechaSalida;
	public Fecha fechaLlegada;
	public Lugar origen;
	public Lugar destino;
	public String codigoVuelo;
	public List<Asiento> asientos = new ArrayList<Asiento>();
	
	public VueloDirecto(String codigoVuelo, Fecha fechaSalida, Fecha fechaLlegada, Lugar origen, 
			Lugar destino, Aerolinea aerolinea) {
		this.codigoVuelo = codigoVuelo;
		this.fechaLlegada = fechaLlegada;
		this.fechaSalida = fechaSalida;
		this.origen = origen;
		this.destino = destino;
		this.aerolinea = aerolinea;
	}
	
	public Long getTiempoDeVuelo() {
		return this.getFechaLlegada().enHoras() - this.getFechaSalida().enHoras();
	}

	public void agregarAsiento(Asiento unAsiento) {
		this.getAsientos().add(unAsiento);	
	}
	
	public void setOrigen(Lugar origen){
		this.origen = origen;
	}
	
	public void setDestino(Lugar destino){
		this.destino = destino;
	}
	
	public Aerolinea getAerolinea(){
		return this.aerolinea;
	}
	
	public Fecha getFechaSalida(){
		return this.fechaSalida;
	}
	
	public Fecha getFechaLlegada(){
		return this.fechaLlegada;
	}
	
	public Lugar getOrigen(){
		return this.origen;
	}
	
	public Lugar getDestino(){
		return this.destino;
	}
	
	public String getCodigoVuelo(){
		return this.codigoVuelo;
	}
	
	public List<Asiento> getAsientos(){
		return this.asientos;
	}

	public void setAsientos(List<Asiento> asientos) {
		this.asientos = asientos;
	}
	
}
